The specification relates to a system and method for generating a stream of content. In particular, the specification relates to generating a stream of content from heterogeneous data sources in real time.
Many consumers of digital media have two somewhat contradictory goals: keep apprised of information in the areas they already find interesting and discover new content that is also enjoyable. In particular, users are interested in newer information and items that are trending topics. Keeping apprised of information can become burdensome in the digital age because there is so much information. In addition, news articles are often repetitive. As a result, the consumer needs a way to avoid becoming overwhelmed by the information and instead only needs to view the best and most relevant items for each topic and source. Similarly, discovering new and fresh content is difficult when the consumer is overburdened with existing content.
Attempts to solve these problems often rely on models that the user cannot see or understand, which leads to the user being confused about how and why each item of content was selected for viewing. If the user dislikes the content, there is no way to correct the model to provide more accurate content.
Feed readers for Really Simple Syndication (RSS) feeds display lists of blogs after the user manually subscribes to them. If a user clicks “home” on the user interface, the feed reader displays a shortened version of the list in a particular order based on the perceived user interest in the blog. This information is derived from how fast the user clicks on blogs from the different sources. For example, a blog that the user reads immediately after a new post is displayed in the list before a new post that takes the user days to read. If a user is looking for a new blog, some feed readers generate recommendations by comparing the user's current feeds to other people with similar interests and identifying the popular blogs among those similar readers.
Feed readers also display statistics about the usage of the blogs, including the percentage of posts from a single source that the user has read. From this information, the user can infer that a certain blog has become obsolete. As a result, the user removes the blog from the blog feed. Thus, feed readers only provide information about a single media source (blogs) and the statistics provide the user with information, but do not affect the information displayed except to rearrange what the user already selected.